<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Mozilla/4.08 [en] (Win95; U) [Netscape]">
<title>dBASE .DBF File Structure</title>
<!-- saved from url=(0040)file://F:\useful\kb\INT\db7_file_fmt.htm -->
<!-- saved from url=(0057)http://loki.borland.com/winbin/bds.exe?getdoc+2821+Delphi -->
<meta name="keywords" content="DBF,HEADER,FORMAT,SPECIFICATION,STRUCTURE,LEVEL 7,FILE, FILE FORMAT">
</head>
<body link="teal" text="black" vlink="#998C80" alink="teal" bgcolor="#FFFFFF">
<center>
  <h1 align="left"> <font face="Arial, Helvetica, sans-serif" color="teal">Data 
    File Header Structure for the<br>
    </font><font face="Arial, Helvetica, sans-serif" color="teal">dBASE Version 
    7 Table File</font></h1>
  </center>
<p><font face="Arial, Helvetica, sans-serif"><br>
  <font color="#000000"><b><font size="2">Note:</font></b><font size="2"> Unless 
  prefaced by "0x", all numbers specified in the Description column of the following 
  tables are decimal.</font></font></font> <font face="Arial, Helvetica, sans-serif"> 
  </font>
</p><h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1.1 Table File 
  Header</font></h3>
<br><table height="411" border="">
  <caption></caption><tbody> 
  </tbody>
  <tbody><tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td height="19"> 
      <center>
        <font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b> 
        </font> 
      </center>
    </td>
  </tr>
  <tr> 
    <td height="115" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0</font></td>
    <td height="115" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="115"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Valid 
      dBASE for Windows table file, bits 0-2 indicate version number: 3 for dBASE 
      Level 5, 4 for dBASE Level 7.</font> 
      <p><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Bit 
        3 and bit 7 indicate presence of a dBASE IV or dBASE for Windows memo 
        file; bits 4-6 indicate the presence of a dBASE IV SQL table; bit 7 indicates 
        the presence of any .DBT memo file (either a dBASE III PLUS type or a 
        dBASE IV or dBASE for Windows memo file).</font>
    </p></td>
  </tr>
  <tr> 
    <td height="65" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1-3</font></td>
    <td height="65" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">3 
      bytes</font></td>
    <td height="65"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Date 
      of last update; in YYMMDD format.&nbsp; Each byte contains the number as 
      a binary.&nbsp; YY is added to a base of 1900 decimal to determine the actual 
      year. Therefore, YY has possible values from 0x00-0xFF, which allows for 
      a range from 1900-2155.</font></td>
  </tr>
  <tr> 
    <td height="38" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4-7</font></td>
    <td height="38" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">32-bit 
      number</font></td>
    <td height="38"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of records in the table. (Least significant byte first.)</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8-9</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of bytes in the header. (Least significant byte first.)</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10-11</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of bytes in the record. (Least significant byte first.)</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">12-13</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2 
      bytes</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved; 
      filled with zeros.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">14</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Flag 
      indicating incomplete dBASE IV transaction.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">15</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">dBASE 
      IV encryption flag.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-27</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">12 
      bytes</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved 
      for multi-user processing.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">28</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Production 
      MDX flag; 0x01 if a production .MDX file exists for this table; 0x00 if 
      no .MDX file exists.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">29</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Language 
      driver ID.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">30-31</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2 
      bytes</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved; 
      filled with zeros.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">32-63</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">32 
      bytes</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Language 
      driver name.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">64-67</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4 
      bytes</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved.</font></td>
  </tr>
  <tr> 
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">68-n</font></td>
    <td height="19" align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">48 
      bytes each</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      Descriptor Array (see 1.2).</font></td>
  </tr>
  <tr> 
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">n+1</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0x0D 
      stored as the Field Descriptor terminator.</font></td>
  </tr>
  <tr> 
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">n+2</font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">See 
      below for&nbsp;</font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">calculations of size</font></font></td>
    <td height="19"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      Properties Structure</font></td>
  </tr>
</tbody></table>
<p><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">n above 
  is the last byte in the field descriptor array. The size of the array depends 
  on the number of fields in the table file.</font> 
</p><h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1. 2 Field Descriptor 
  Array</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">(One for each 
field in the table)</font> <font face="Arial, Helvetica, sans-serif"> </font> 
<br><table border="">
  <caption></caption><tbody>
  </tbody>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td> 
      <center>
        <font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b> 
        </font> 
      </center>
    </td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0-31</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">32 
      bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      name in ASCII (zero-filled).</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">32</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      type in ASCII (B, C, D, N, L, M, @, I, +, F, 0 or G).</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">33</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      length in binary.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">34</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      decimal count in binary.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">35-36</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2 
      bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">37</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Production 
      .MDX field flag; 0x01 if field has an index tag in the production .MDX file; 
      0x00 if the field is not indexed.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">38-39</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2 
      bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">40-43</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4 
      bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Next 
      Autoincrement value, if the Field type is Autoincrement, 0x00 otherwise.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">44-47</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4 
      bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved.</font></td>
  </tr>
</tbody></table>
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1.3 Field Properties 
  Structure</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">This contains 
a header describing the Field Properties array, followed by the actual array, 
followed by property data. It is contained in the .DBF header and comes immediately 
after the Field Descriptor terminator (See Table 1.1).</font> <font face="Arial, Helvetica, sans-serif"> 
&nbsp; </font> 
<table border="">
  <caption></caption><tbody> </tbody>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td> 
      <center>
        <font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b> 
        </font> 
      </center>
    </td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0-1</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of Standard Properties.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2-3</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Start 
      of Standard Property Descriptor Array. (see 1.3.1 )</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4-5</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of Custom Properties.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">6-7</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Start 
      of Custom Property Descriptor Array. (see 1.3.2 )</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8-9</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of Referential Integrity (RI) properties.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10-11</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Start 
      of RI Property Descriptor Array. (see 1.3.3 )&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">12-13</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Start 
      of data - this points past the Descriptor arrays to data used by the arrays 
      - for example Custom property names are stored here.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">14-15</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Actual 
      size of structure, including data (Note: in the .DBF this will be padded 
      with zeroes to the nearest 0x200, and may have 0x1A at the end). If the 
      structure contains RI data, it will not be padded.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-n</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">15 
      bytes each</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Standard 
      Property Descriptor Array (n = (15*number of standard properties) + 16). 
      (see 1.3.1)</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">(n+1)-m</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">14 
      bytes each</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Custom 
      Property Descriptor Array (m = n+ 14*number of custom properties). (see 
      1.3.2)</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">(m+1)-o</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">22 
      bytes each</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">RI 
      Property Descriptor Array (o = m+ 22*number of RI properties). (see 1.3.3)</font></td>
  </tr>
</tbody></table>
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1.3.1 Standard 
  Property and Constraint Descriptor Array</font></h3>
<table border="">
  <caption></caption><tbody> </tbody>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td> 
      <center>
        <font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b> 
        </font> 
      </center>
    </td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0-1</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Generational 
      number. More than one value may exist for a property. The current value 
      is the value with the highest generational number.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2-3</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Table 
      field offset - base one. 01 for the first field in the table, 02 for the 
      second field, etc. Note: this will be 0 in the case of a constraint.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Which 
      property is described in this record:</font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">01 Required</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">02 Min</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">03 Max</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">04 Default&nbsp;</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">06 Database constraint</font></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">5</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      Type:</font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">00 No type - constraint</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">01 Char</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">02 Numeric</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">03 Memo</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">04 Logical&nbsp;</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">05 Date</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">06 Float</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">08 OLE</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">09 Binary</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">11 Long</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">12 Timestamp</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">13 Double</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">14 AutoIncrement (not settable from the Inspector)</font></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">6</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0x00 
      if the array element is a constraint, 0x02 otherwise.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2">7-10</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2">4 bytes</font></td>
    <td><font face="Arial, Helvetica, sans-serif" size="2">Reserved</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">11-12</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      from the start of this structure to the data for the property. The Required 
      property has no data associated with it, so it is always 0.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">13-14</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Width 
      of database field associated with the property, and hence size of the data 
      (includes 0 terminator in the case of a constraint).</font></td>
  </tr>
</tbody></table>
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1.3.2 Custom Property 
  Descriptor Array</font></h3>
<table border="">
  <caption></caption><tbody> </tbody>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0-1</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Generational 
      number. More than one value may exist for a property. The current value 
      is the value with the highest generational number.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">2-3</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Table 
      field offset - base one.&nbsp; 01 for the first field in the table, 02 for 
      the second field, etc.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Field 
      Type&nbsp;</font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">01 Char</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">02 Numeric</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">03 Memo</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">04 Logical&nbsp;</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">05 Date</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">06 Float</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">08 OLE</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">09 Binary</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">11 Long</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">12 Timestamp</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">13 Double</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">14 AutoIncrement (not settable from the Inspector)</font></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">5</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Reserved</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">6-7</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      from the start of this structure to the Custom property name.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8-9</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Length 
      of the Custom property name.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10-11</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      from the start of this structure to the Custom property data.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">12-13</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Length 
      of the Custom property data (does not include null terminator).</font></td>
  </tr>
</tbody></table>
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">1.3.3 Referential 
  Integrity Property Descriptor Array</font></h3>
<table border="">
  <caption>&nbsp;</caption>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Byte</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Contents</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">0x07 
      if Master (parent), 0x08 if Dependent (child).&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1-2</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Sequential 
      number, 1 based counting. If this number is 0, this RI rule has been dropped.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">3-4</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      of the RI rule name - 0 terminated.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">5-6</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Size 
      of previous value.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">7-8</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      of the name of the Foreign Table - 0 terminated.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">9-10</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Size 
      of previous value.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">11</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 
      byte</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Update 
      &amp; delete behaviour:</font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">Update Cascade 0x10</font></font> <font face="Arial, Helvetica, sans-serif" size="2"><br>
      <font color="#000000">Delete Cascade 0x01</font></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">12-13</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      of fields in the linking key.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">14-15</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      of the Local Table tag name - 0 terminated.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-17</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Size 
      of previous value.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">18-19</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Offset 
      of the Foreign Table tag name - 0 terminated.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">20-21</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">16-bit 
      number</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Size 
      of previous value.</font></td>
  </tr>
</tbody></table>
<p><font face="Arial, Helvetica, sans-serif" color="#000000"><font size="2">(Foreign 
  = in the other table,&nbsp; Local = in this table)</font></font> 
</p><h3> <font face="Arial, Helvetica, sans-serif" color="#000000">Property Data</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">For standard 
properties, everything is stored exactly as it is in the Table records. Custom 
property data is stored as the Name string, followed immediately by the Value 
string, and a null terminator. The Constraint text is stored as a null-terminated 
string.</font> 
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">Table Records</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">The records 
follow the header in the table file. Data records are preceded by one byte, that 
is, a space (0x20) if the record is not deleted, an asterisk (0x2A) if the record 
is deleted. Fields are packed into records without field separators or record 
terminators. The end of the file is marked by a single byte, with the end-of-file 
marker, an OEM code page character value of 26 (0x1A).</font> 
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">Storage of dBASE 
  Data Types</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Except for 
autoincrement fields, all types are initialized to binary zeroes. In addition, 
any fields which have been assigned a default property will contain the default 
value.</font> <font face="Arial, Helvetica, sans-serif" size="2"> </font> 
<br><table border="">
  <caption></caption><tbody> 
  </tbody>
  <tbody><tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Symbol</font></b></font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Data 
      Type</font></b></font></td>
    <td><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#000000">Description</font></b></font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">B</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Binary, 
      a string</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10 
      digits representing a .DBT block number. The number is stored as a string, 
      right justified and padded with blanks.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">C</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Character</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">All 
      OEM code page characters - padded with blanks to the width of the field.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">D</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Date</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8 bytes 
      - date stored as a string in the format YYYYMMDD.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">N</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Numeric</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      stored as a string, right justified, and padded with blanks to the width 
      of the field.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">L</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Logical</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">1 byte 
      - initialized to 0x20 (space) otherwise T or F.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">M</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Memo, 
      a string</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10 
      digits (bytes) representing a .DBT block number. The number is stored as 
      a string, right justified and padded with blanks.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">@</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Timestamp</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8 bytes 
      - two longs, first for date, second for time.&nbsp; The date is the number 
      of days since&nbsp; 01/01/4713 BC. Time is hours * 3600000L + minutes * 
      60000L + Seconds * 1000L</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">I</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Long</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">4 bytes. 
      Leftmost bit used to indicate sign, 0 negative.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">+</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Autoincrement</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Same 
      as a Long</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">F</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Float</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Number 
      stored as a string, right justified, and padded with blanks to the width 
      of the field.&nbsp;</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">O</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Double</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">8 bytes 
      - no conversions, stored as a double.</font></td>
  </tr>
  <tr> 
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">G</font></td>
    <td align="CENTER"><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">OLE</font></td>
    <td><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">10 
      digits (bytes) representing a .DBT block number. The number is stored as 
      a string, right justified and padded with blanks.</font></td>
  </tr>
</tbody></table>
<h3> <font face="Arial, Helvetica, sans-serif" color="#000000">Binary, Memo, OLE 
  Fields and .DBT Files</font></h3>
<font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Binary, memo, 
and OLE fields store data in .DBT files consisting of blocks numbered sequentially 
(0, 1, 2, etc.). SET BLOCKSIZE determines the size of each block. The first block 
in the .DBT file, block 0, is the .DBT file header.</font> 
<p><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">Each binary, 
  memo, or OLE field of each record in the .DBF file contains the number of the 
  block (in OEM code page values) where the field's data actually begins. If a 
  field contains no data, the .DBF file contains blanks (0x20) rather than a number.</font> 
</p><p><font face="Arial, Helvetica, sans-serif" color="#000000" size="2">When data 
  is changed in a field, the block numbers may also change and the number in the 
  .DBF may be changed to reflect the new location.</font> 


</p></body></html>